# 作业：
# 整理字符串、列表、字典、元组、集合可变和不可变的数据结构，背
# 1、定义两个字典，键值任意，把两个字典合并在一起，组成一个新字典
# a_dict = {"name":'ding',"age":23,"address":'辽宁沈阳'}
# b_dict = {"name":'dying',"number":15909459049,"sex":"女"}
# a_dict.update(b_dict)
# print(a_dict)
# 2、定义两个列表，将两个列表合并
# a_list = [11,33,22,44,5,55]
# b_list = [66,77,88,99,990]
# # for i in b_list:
# #     if i not in a_list:
# #         a_list.append(i)
# a_list+=b_list
# print(a_list)
# 3、定义一个集合，包含2，3，4，5，7元素，判断元素12在不在集合中，用分支语句打印不同结果； 判断元素3在不在集合中，打印结果
# a_set = {2,3,4,5,7}
# user_input = int(input("请输入要判断的数字："))
# if user_input in a_set:
#     print(f"你输入的{user_input},在列表内")
# else:
#     print(f"您输入的{user_input},不在列表内！！")
# 4、让用户输入账号密码，去除账号密码前后无用的空格，然后判断账号是不是admin，密码是不是123456，如果都相同显示登录成功，否则显示登录失败


#
# user_name = str(input("请输入账号名称："))      #输入账号--强制类型转换，换成字符串
# user_password = str(input("请输入密码："))    #输入密码
#
# user_name_new = user_name.replace(" ","")           #账号去空格---用字符串的函数replace把空格替换成什么也没有
# user_password_new = user_password.replace(" ","")   #密码去空格

# user_name1 = input("").strip
# user_password1 = input("").strip

# if user_name_new=="admin" and user_password_new=='123456':  #对比账户密码要同时正确--用and连接比较
#     print("恭喜您登陆成功！")
# elif user_name_new!='admin':
#     print("登陆失败！请检查---用户名---")  #
# else:
#     print("登陆失败！请检查---用户密码---")

# 5、实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
# in_count =0
# while in_count<3:
#     user_name = str(input("请输入用户名："))
#     user_password = str(input("请输入密码："))
#     user_name_new = user_name.replace(" ",'')
#     user_password_new = user_password.replace(" ",'')
#     if (user_name_new=='seven' or user_name_new=='alex') and user_password_new=='123':
#         print("登陆成功！")
#         break
#     else:
#         print(f"登录失败，还可以重试{2-in_count}次！！！")
#         in_count+=1

# 6、用程序计算100以内有多少个3的整数倍数字

# count_3 = 0
# for i in range(1,101):
#     if i%3==0:
#         count_3+=1
#         print(i)
# print(count_3)
#
# 7、实现判断用户输入的内容中是否有c,要求最多输入三次
#
# user_input = str(input("请输入内容："))
# if user_input.count('c')>3:
#     print(f"您输出的’c‘次数为{user_input.count('c')},多于3次,请重新输入")
# else:
#     print("输入成功！！！")

# 8、让用户输入个人基本信息，包括 姓名、电话、住址、年龄，通过字典保存用户的数据信息，当用户输入q的时候，结束输入
# user_dicts={}
# while True:
#     print("---输入个人信息（输入q终止程序）---")
#     user_name = input("请输入姓名：")
#     if user_name=='q':
#         break
#     if user_name in user_dicts.keys():
#         print("该用户已存在！请重新输入---")
#         continue
#     user_number = input("请输入电话：")
#     if user_name=='q':
#         break
#     user_address = input("请输入地址：")
#     if user_name=='q':
#         break
#     user_age = input("请输入年龄：")
#     if user_name=='q':
#         break
#     user_dict={}
#
#     user_dict['number'] = user_number
#     user_dict['address'] = user_address
#     user_dict['age'] = user_age
#     user_dicts[user_name]=user_dict
#     print(user_dicts)
#     user_select = input("输入’q‘结束填入！---输入其他继续填入")
#     if user_select=='q':
#         break
# # 结束输入后，打印显示全部的用户名，并要求选择一个名称
# print(list(user_dicts.keys()))
# user_in = input("请选择一个用户名：")
# #print(user_in)
# if user_in in user_dicts.keys():
# # 然后打印输出这个用户的全部信息，输出信息的格式：用户 xxx，电话是xxx，地址是xxx，年龄是xxx
#     #print(user_dicts[user_in])
#     print(f"用户 {user_in}，电话是{user_dicts[user_in]['number']}，地址是{user_dicts[user_in]['address']}，年龄是{user_dicts[user_in]['age']}")
# else:
#     print("该用户不在系统内")

#第二种
# user_dicts = {}
# while True:
#     print("""***********************
#     a、输入个人信息
#     b、查询个人信息
#     q、退出程序
# ***********************
#     """)
#     select_1 = input("请选择您需要的功能 ：")
#     if select_1 == 'a':
#         while True:
#             print("---输入个人信息（输入q终止程序）---")
#             user_name = input("请输入姓名：")
#             if user_name == 'q':
#                 break
#             if user_name in user_dicts.keys():
#                 print("该用户已存在！请重新输入---")
#                 break
#             user_number = input("请输入电话：")
#             if user_name == 'q':
#                 break
#             user_address = input("请输入地址：")
#             if user_name == 'q':
#                 break
#             user_age = input("请输入年龄：")
#             if user_name == 'q':
#                 break
#             user_dict = {}
#             user_dict['number'] = user_number
#             user_dict['address'] = user_address
#             user_dict['age'] = user_age
#             user_dicts[user_name] = user_dict
#             user_select = input("输入’q‘结束填入！---输入其他继续填入")
#             if user_select == 'q':
#                 print(user_dicts)
#                 break
#     elif select_1 == 'b':
#         # 结束输入后，打印显示全部的用户名，并要求选择一个名称
#         print(list(user_dicts.keys()))
#         user_in = input("请选择一个用户名：")
#         # print(user_in)
#         if user_in in user_dicts.keys():
#             # 然后打印输出这个用户的全部信息，输出信息的格式：用户 xxx，电话是xxx，地址是xxx，年龄是xxx
#             # print(user_dicts[user_in])
#             print(
#                 f"用户 {user_in}，电话是{user_dicts[user_in]['number']}，地址是{user_dicts[user_in]['address']}，年龄是{user_dicts[user_in]['age']}")
#         else:
#             print("该用户不在系统内！")
#
#     elif select_1 == 'q':
#         break
#

# 9、图书管理系统
# 支持选项，选择功能
# 图书管理系统：
# 1.添加图书
# 2.删除图书
# 3.修改图书
# 4.查询图书
# 5.显示所有图书
# 6.退出操作

book_list = []
while True:
    print("""-----欢迎使用图书管理系统！-----
1.添加图书
2.删除图书
3.修改图书
4.查询图书
5.显示所有图书
6.退出操作""")
    user_select = input("请选择您需要功能：")
    if user_select=='1':
        print("1、添加图书：")
        book_list.append(input("请输入图书名称："))

    elif user_select=='2':
        print("2.删除图书：")
        print("图书名称有：",book_list)
        book_list.remove(input("请输入要删除的图书名称："))
    elif user_select=='3':
        print("3.修改图书：")
        old_index=input("请输入要修改的图书名称：")
        book_list[book_list.index(old_index)]=input("请输入修改后的图书名称：")
    elif user_select=='4':
        print("4.查询图书：")
        print(book_list.index(input("请输入要查询的图书")))
    elif user_select=='5':
        print("5.显示所有图书：")
        print(book_list)
    elif user_select=='6':
        break

# 10、预设一个 0~9 之间的整数，让用户猜一猜并输入所猜的数，如果大于预设的数，显示“太大” ；小于预设的数，显示“太小” ，如此循环，直至猜中该数，显示“恭喜！你猜中了！ ”（使用random模块）
# import random
# num = random.randint(0,9)
# while True:
#     user_num = int(input("猜一猜这个数是多少？"))
#     if user_num > num:
#         print("太大")
#     elif user_num < num:
#         print("太小")
#     elif user_num == num:
#         print("恭喜！你猜中了！")
#         break

# 11、用户分别从键盘输入4个整数和3个整数组成两个列表list1和list2，将列表list2合并到list1中，并在list1末尾再添加两个数字90和100，然后对list1降序排列，最后输出最终的列表list1
# list1 = []
# list2 = []
# list1.append(int(input("请输入7个整数")))
# list1.append(int(input()))
# list1.append(int(input()))
# list1.append(int(input()))
# list2.append(int(input()))
# list2.append(int(input()))
# list2.append(int(input()))
# for i in list2:
#     list1.append(i)
# list1.append(90)
# list1.append(100)
#
# list1 = sorted(list1,reverse=True)
# print(list1)
#

# 12、最后一个单词的长度
# 给你一个字符串 s，由若干单词组成，单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
# 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串
# s = "dinggi isigho isho ifhfsi hiso"
# s1 = ""
# s = s[::-1]
# for i in s:
#     if i == " ":
#         break
#     s1 +=i
# print(len(s1))
# print(s1[::-1])
# 13、编写一个程序，要求用户输入一个字符串，并将其反转输出
# s=""
# print(s[::-1])
 # 14、编写一个程序，要求用户输入一个整数，判断它是奇数还是偶数，并输出结果
# user_input = int(input("请输入一个整数："))
# if user_input%2==0:
#     print("偶数")
# else:
#     print("奇数")
# 15、编写一个程序，计算并输出 1 到 100 之间所有能被 7 整除但不能被 5 整除的数的和
# sum = 0
# for i in range(1,101):
#     if i%7==0 and i%5!=0:
#         sum+=i
# print(sum)

# 16、输入任意三个数，用if语句编写求出其中最小值的程序
# a = input()
# b = input()
# c = input()
# if a<b:
#     if a<c:
#         print(a)
#     else:
#         print(c)
# else:
#     if b<c:
#         print(b)
#     else:
#         print(c)
#
# 17、两数之和
# 给定一个整数数组 nums和一个整数目标值 target，请你在该数组中找出 和为目标值 target 的那两个整数，并返回它们的数组下标。
# 你可以假设每种输入只会对应一个答案。但是，数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案
# nums = [1,2,3,4,5,6,7]
# target =9
# for i in range(len(nums)):
#     if target-nums[i] in nums:
#         print(nums[i],target-nums[i])
#         print(i,nums.index(target-nums[i]))
#         nums = nums.pop(nums.index(target-nums[i]))




# nums = [1,22,32,42,55,7,8,6,34,43,56,75,15,17]
# target =23
# left =0
# right=len(nums)
# while left<right:
#     if target-nums[left] in nums:
#         print(f"数1 = {nums[left]}，\t\t数2 = {target - nums[left]}")
#         print(f"数1的索引为：{left}，数2的索引为：{nums.index(target-nums[left])}")
#         nums[nums.index(target-nums[left])]=0
#
#     left += 1
# print(nums)



# 18、listinfo = [133, 88, 24, 33, 232, 44, 11, 44]，取出列表小于100，且为偶数的数
# listinfo = [133, 88, 24, 33, 232, 44, 11, 44]
# for i in listinfo:
#     if i<100 and i%2==0:
#         print(i)
# 19、从键盘上输入任意一个整数，输出这个整数是几位数
# s= str(input("请输入一个整数："))
# print(f"这是一个{len(s)}位数")
# 20、定义一个字典包含“name”、“age”两个key，对应的值为“韩梅梅”, 33，
#  将“name”对应的value值改为“韩涛”
# user_dict = {"name":"韩梅梅","age":33}
# user_dict["name"]="韩涛"
# print(user_dict)
# # 添加新的键“sex”，值为“男”
# user_dict["sex"] = "男"
# print(user_dict)
# #  将“age”键值对删除
# user_dict.pop("age")
# print(user_dict)

# 21、编写程序，定义一个列表，通过索引打印出列表中第2个值，删除列表中的第3值
# 1. 通过索引打印出列表中第2个值
# 2. 删除列表中的第3值
# list_21 = [1,2,3,4,5,6,7,8,9]
# print(list_21[1])
# list_21.pop(2)
# print(list_21)


